Android Thread
メインスレッド
画面描画など
通信系のスレッド
メインスレッドとは別に作成され、メインスレッドと値の受け渡しをする
code: thread.kt
val handler = Handler()
Thread {
val info = fetchFromNetwork()
//Thread{}内は、メインスレッドとは別なので、handler経由でメインスレッド系の処理をする
handler.post{ textView.text = info }
}.start()
HandlerにRunnableオブジェクトを渡すと、それがキューに積まれて、
FIFOで処理される(ここでは、メインスレッド側で?). Handler作成時に処理スレッドを指定できる。
AsyncTask
以下の4つを@overrideする。
onPreExecute()
doInBackground()
onProgressUpdate()
onPostExecute()
pythonの concurrent.futures.threadpoolexecutorに感じがにてる。